package cn.t.dto.device.vo;

import cn.t.dto.device.CargowaySkuDTO;
import cn.t.enums.ActionTypeEnum;
import cn.t.enums.OptionTypeEnum;
import cn.t.enums.YesOrNoEnum;
import cn.t.enums.order.ErrorTypeEnum;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author l
 */
@Data
public class OpenCloseDTO implements Serializable {
    /**
     * 设备id
     */
    private Long deviceId;
    /**
     * 单位id
     */
    private Long firmId;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 参与者id
     */
    private Long participantId;
    /**
     * 成本中心
     */
    private Long costCenterId;
    /**
     * 成本中心
     */
    private String  costCenterName;
    /**
     * 用户名
     */
    private String  userName;
    /**
     * 操作人
     */
    private String  operatorInfo;
    /**
     * 卡号
     */
    private String cardCode;
    /**
     * 操作类型
     */
    private OptionTypeEnum optionTypeEnum;
    /**
     * 货道信息
     */
    Map<Integer, CargowaySkuDTO> cargowaySkuMap;
    /**
     * 工单号
     */

    private String workOrderSn;
    /**
     * 流水号
     */
    private String requestId;
    /**
     * 订单状态
     */
    private Integer orderStatus;
    /**
     * 订单号
     */
    private String orderSn;

    /**
     * 超额领用强制提交。1： 是    0：否
     */
    private YesOrNoEnum overPickupCommit;
    /**
     * 年月日 时分秒
     */
    private String recordAt;
    /**
     * (开门时间)年月日 时分秒
     */
    private Date openRecordAt;
    /**
     * 开关门id
     */
    private Long openRecordId;
    /**
     *  关门重力数据
     */
    @JsonProperty(value = "data")
    private List<WeightVO> scale;
    /**
     *  关门重力数据
     */
    private Map<Integer,Double> scaleMap;
    /**
     *  开门重力数据
     */
    private Map<Integer,Double> openScale;
    /**
     *   计算后的数量
     */
    private List<QtyVO> qtyList;
    private ActionTypeEnum actionTypeEnum;
    /**
     * 参数解析异常
     */
    private ErrorTypeEnum errorTypeEnum;
    /**
     * 是否超领锁卡 1 是， 0 否
     */
    private Integer isLock;
    /**
     * 登录方式: 1: 手机号登录+密码  2: 卡号登录  3: 工号登录
     */
    private String loginType;
    /**
     * 工号
     */
    private String employeeCode;
}
